补题进度:7/8(12)原题场
单向边看成双向边,打的我心态爆炸了自闭了
A. An Olympian Math Problem
- 签到,打表和猜结论都可以看出答案是显然的
- 当然推公式是很好推的。
$\sum_{i=1}^{i=n-1}i·i!$
$=\sum_{i=1}^{i=n-1}(i+1)!-i!$
$=n!-1$
$=n-1$
B. The writing on the wall Problem
题意
求 $nm$ 的矩阵上有 $k$ 个位置为0,求不含0的子矩阵数量。
$(k,n\le10^5,m\le10)$
题解
- 这道题怎么计算可以保证不重不漏难点,这道题需要有强大的分析问题能力,以及不断的尝试自己的想法。
- 预处理每个1右边可以延伸的最长1的长度。
- 枚举每一列的每一行,考虑每个位置的贡献,是一个柱的形状,单调队列维护即可。
- 贡献怎么算,观察可知,设当前枚举到第i行,前i-1行的贡献为sum
- 若当前位置1的延伸长度大于前面的,贡献则为sum+当前位置延伸1的数量
- 若当前位置1的延伸长度小于前面的,贡献为减去前面i-1行中大于当前行的贡献。
- 注意每次都要更新sum值。
C. GDY
- 按题意模拟即可
D. Jerome’s House
留坑
E. AC Challenge
题意
给出一系列物品和物品获得之间的依赖关系,物品获得的价值和物品本身的属性和获得的顺序有关。求最大收益。
$(n\le20)$
题解
- 数据范围可知状压dp或者爆搜
- 考虑依赖关系可以用二进制位0/1表示
- dp[i]: 二进制状态为i的最大值
- 转移:对每个i,考虑其中为1的位,并且由其它为1的位的和转移而来
- 这样转移是不会出现问题的,因为对于任意状态i,其中的一位二进制为1的,剩下的数一定小于i,必定是先前已经更新了的
- 时间复杂度$(n·2^n)$
1 |
|
F. An Easy Problem On The Trees
留坑
G. Lpl and Energy-saving Lamps
题意
一排房间装着灯,每月买新的节能灯替换,每次找最前面的能完整替换的房间完整替换,求过程。
题解
- 线段树维护最小值和修改即可
- 最对只会修改$n\log n$次
- 时间复杂度$O(n\log n)$
1 |
|
H. Set
留坑
I. Skr
题意
求一个数字串中所有本质不同的回文子串之和。
题解
待补
J. Sum
题意
求某个积性函数的前缀和
$(n\le10^7)$
题解
- 观察题目函数$f()$定义,可以$f()$是积性函数
- 积性函数都是可以通过线性筛求出的
- 观察样例或者打表可知一些特定的关系
- 根据关系改改线性筛即可
- 线性筛保证了每个合数只被它最小的因数筛去
1 |
|
K. The Great Nim Game
留坑
L. Magical Girl Haze
题意
可以将k条边的权值变为0,求从1到n的最短路径。
题解
- 直接分层最短路,暴力dij找出所有状态即可
- 时间复杂度$O(nk\log n)$
怎么宛如一个zz啊,单向边弄成双向的,自闭了一个下午。
1 |
|